home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / p4 / p4-1_2a.lha / p4-1.2a / lib / p4_debug.c < prev    next >
C/C++ Source or Header  |  1992-10-19  |  4KB  |  219 lines

  1. #include <stdio.h>
  2. #include <varargs.h>
  3. #include "p4.h"
  4. #include "p4_sys.h"
  5.  
  6. #if defined(p4_dprintfl)
  7. #undef p4_dprintfl
  8. #endif
  9.  
  10. int p4_get_dbg_level()
  11. {
  12.     return(debug_level);
  13. }
  14.  
  15. P4VOID p4_set_dbg_level(level)
  16. int level;
  17. {
  18.     debug_level = level;
  19. }
  20.  
  21. #ifdef DELTA
  22.  
  23. P4VOID p4_dprintf(fmt, a, b, c, d, e, f, g, h, i)
  24. {
  25.     printf("%s: ",whoami);
  26.     printf(fmt,a,b,c,d,e,f,g,h,i);
  27. }
  28.  
  29. #else
  30.  
  31. P4VOID p4_dprintf(fmt, va_alist)
  32. char *fmt;
  33. va_dcl
  34. {
  35.     va_list ap;
  36.  
  37.     printf("%s: ", whoami);
  38.     va_start(ap);
  39. #ifdef VPRINTF
  40.     vprintf(fmt, ap);
  41. #else
  42.     _doprnt(fmt, ap, stdout);
  43. #endif
  44.     va_end(ap);
  45.     fflush(stdout);
  46. }
  47.  
  48. #endif
  49.  
  50. #ifdef DELTA
  51.  
  52. P4VOID p4_dprintfl(level, fmt, a, b, c, d, e, f, g, h, i)
  53. {
  54.     if (level > debug_level)
  55.         return;
  56.     printf("%s: ",whoami);
  57.     printf(fmt,a,b,c,d,e,f,g,h,i);
  58. }
  59.  
  60. #else
  61.  
  62. P4VOID p4_dprintfl(level, fmt, va_alist)
  63. int level;
  64. char *fmt;
  65. va_dcl
  66. {
  67.     va_list ap;
  68.  
  69.     if (level > debug_level)
  70.     return;
  71.     printf("%d: %s: ", level, whoami);
  72.     va_start(ap);
  73. #ifdef VPRINTF
  74.     vprintf(fmt, ap);
  75. #else
  76.     _doprnt(fmt, ap, stdout);
  77. #endif
  78.     va_end(ap);
  79.     fflush(stdout);
  80. }
  81.  
  82. #endif 
  83.  
  84. P4VOID dump_global(level)
  85. int level;
  86. {
  87.     int i;
  88.     struct p4_global_data *g = p4_global;
  89.     struct proc_info *p;
  90.  
  91.     if (level > debug_level)
  92.     return;
  93.  
  94.     p4_dprintf("Dumping global data for process %d at %x\n", getpid(), g);
  95.  
  96.     for (i = 0, p = g->proctable; i < g->num_in_proctable; i++, p++)
  97.     {
  98.     p4_dprintf(" proctable entry %d: unix_id = %d host = %s\n",
  99.            i, p->unix_id, p->host_name);
  100.     p4_dprintf("   port=%d group_id=%d switch_port=%d\n",
  101.            p->port, p->group_id, p->switch_port);
  102.     }
  103.  
  104.     p4_dprintf("    listener_pid     = %d\n", g->listener_pid);
  105.     p4_dprintf("    listener_port    = %d\n", g->listener_port);
  106.     p4_dprintf("    local_slave_count= %d\n", g->local_slave_count);
  107.     p4_dprintf("    my_host_name     = %s\n", g->my_host_name);
  108.     p4_dprintf("    num_in_proctable = %d\n", g->num_in_proctable);
  109. }
  110.  
  111. P4VOID dump_local(level)
  112. int level;
  113. {
  114.     struct local_data *l = p4_local;
  115.     int i;
  116.  
  117.     if (level > debug_level)
  118.     return;
  119.  
  120.     p4_dprintf("Dumping local data for process %d at %x\n", getpid(), l);
  121.  
  122.     for (i = 0; i < p4_global->num_in_proctable; i++)
  123.     p4_dprintf("     %d: conntab[%d]  type:%s    port %d\n", getpid(), i,
  124.            print_conn_type(p4_local->conntab[i].type),
  125.            p4_local->conntab[i].port);
  126.  
  127.     p4_dprintf("    listener_fd = %d\n", l->listener_fd);
  128.     p4_dprintf("    my_id       = %d\n", l->my_id);
  129.     p4_dprintf("    am_bm       = %d\n", l->am_bm);
  130. }
  131.  
  132. char *print_conn_type(conn_type)
  133. int conn_type;
  134. {
  135.     static char val[20];
  136.  
  137.     switch (conn_type)
  138.     {
  139.       case CONN_ME:
  140.     return ("CONN_ME");
  141.       case CONN_REMOTE_SWITCH:
  142.     return ("CONN_REMOTE_SWITCH");
  143.       case CONN_REMOTE_NON_EST:
  144.     return ("CONN_REMOTE_NON_EST");
  145.       case CONN_REMOTE_EST:
  146.     return ("CONN_REMOTE_EST");
  147.       case CONN_SHMEM:
  148.     return ("CONN_SHMEM");
  149.       case CONN_CUBE:
  150.     return ("CONN_CUBE");
  151.       case CONN_REMOTE_DYING:
  152.     return ("CONN_REMOTE_DYING");
  153.       default:
  154.     sprintf(val, "invalid: %d  ", conn_type);
  155.     return (val);
  156.     }
  157. }
  158.  
  159.  
  160. P4VOID dump_listener(level)
  161. int level;
  162. {
  163.     struct listener_data *l = listener_info;
  164.  
  165.     if (level > debug_level)
  166.     return;
  167.  
  168.     p4_dprintf("Dumping listener data for process %d at %x\n", getpid(), l);
  169.     p4_dprintf("    listening_fd = %d\n", l->listening_fd);
  170. }
  171.  
  172. P4VOID dump_procgroup(procgroup, level)
  173. struct p4_procgroup *procgroup;
  174. int level;
  175. {
  176.     struct p4_procgroup_entry *pe;
  177.     int i;
  178.  
  179.     if (level > debug_level)
  180.     return;
  181.  
  182.     p4_dprintf("Procgroup:\n");
  183.     for (pe = procgroup->entries, i = 0;
  184.      i < procgroup->num_entries;
  185.      pe++, i++)
  186.     p4_dprintf("    entry %d: %s %d %s %s \n",
  187.            i,
  188.            pe->host_name,
  189.            pe->numslaves_in_group,
  190.            pe->slave_full_pathname,
  191.            pe->username);
  192. }
  193.  
  194. P4VOID dump_tmsg(tmsg)
  195. struct p4_msg *tmsg;
  196. {
  197.     p4_dprintf("type=%d, to=%d, from=%d, len=%d, ack_req=%x, msg=%s\n",
  198.            tmsg->type, tmsg->to, tmsg->from, tmsg->len, tmsg->ack_req,
  199.            &(tmsg->msg));
  200. }
  201.  
  202. P4VOID dump_conntab(level)
  203. int level;
  204. {
  205.     int i;
  206.  
  207.     if (level > debug_level)
  208.     return;
  209.  
  210.     for (i = 0; i < p4_global->num_in_proctable; i++)
  211.     {
  212.     p4_dprintf("   %d: conntab[%d] type=%s port=%d switch_port=%d\n",
  213.            getpid(), i,
  214.            print_conn_type(p4_local->conntab[i].type),
  215.            p4_local->conntab[i].port,
  216.            p4_local->conntab[i].switch_port);
  217.     }
  218. }
  219.